package com.ruoyi.web.domain.mes;

import java.math.BigDecimal;
import java.util.List;

import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 纸张管理对象 mes_paper
 *
 * @author levicash
 * @date 2024-01-09
 */
@Data
public class MesPaper extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 标识
     */
    private Long id;

    /**
     * 纸张编码
     */
    @Excel(name = "纸张编码")
    private String code;

    /**
     * 自有编码
     */
    @Excel(name = "自有编码")
    private String originalCode;

    /**
     * 纸张名称
     */
    @Excel(name = "纸张名称")
    private String name;

    /**
     * 纸张全称
     */
    @Excel(name = "纸张全称")
    private String fullName;

    /**
     * 纸张品牌
     */
    @Excel(name = "纸张品牌", combo = {"得力", "天章"}, readConverterExp = "1=得力,2=天章")
    private String brand;

    /**
     * 计量单位
     */
    @Excel(name = "计量单位", combo = {"公斤", "吨", "张", "令"}, readConverterExp = "1=公斤,2=吨,3=张,2=令")
    private String unit;

    /**
     * 客料/厂料
     */
    @Excel(name = "客料/厂料", combo = {"客料", "厂料"}, readConverterExp = "1=客料,2=厂料")
    private String material;

    /**
     * 用纸类型
     */
    @Excel(name = "用纸类型", combo = {"内文", "封面"}, readConverterExp = "1=内文,2=封面")
    private String useType;

    /**
     * 平张/卷筒
     */
    @Excel(name = "平张/卷筒", combo = {"平张", "卷筒"}, readConverterExp = "1=平张,2=卷筒")
    private String packageType;

    /**
     * 纸型
     */
    @Excel(name = "纸型", combo = {"A0", "A1", "A2"}, readConverterExp = "1=A0,2=A1,3=A2")
    private String paperType;

    /**
     * 采购专员编码
     */
    @Excel(name = "采购专员编码")
    private String buyerCode;

    /**
     * 采购专员
     */
    @Excel(name = "采购专员")
    private String buyerName;

    /**
     * 实时单价
     */
    @Excel(name = "实时单价")
    private BigDecimal realtimePrice;

    /**
     * 加权单价
     */
    @Excel(name = "加权单价")
    private BigDecimal authorityPrice;

    /**
     * 克重
     */
    @Excel(name = "克重")
    private BigDecimal weight;

    /**
     * 长度/幅宽
     */
    @Excel(name = "长度/幅宽")
    private BigDecimal longWide;

    /**
     * 宽度
     */
    @Excel(name = "宽度")
    private BigDecimal wide;

    /**
     * 高度
     */
    @Excel(name = "高度")
    private BigDecimal height;

    /**
     * 安全库存
     */
    @Excel(name = "安全库存")
    private BigDecimal safetyStock;

    /**
     * 最低库存
     */
    @Excel(name = "最低库存")
    private BigDecimal minStock;

    /**
     * 最高库存
     */
    @Excel(name = "最高库存")
    private BigDecimal maxStock;

    /**
     * 最初库存
     */
    @Excel(name = "最初库存")
    private BigDecimal originalStock;

    /**
     * 库存金额
     */
    @Excel(name = "库存金额")
    private BigDecimal stockPrice;

    /**
     * 所属仓库
     */
    @Excel(name = "所属仓库")
    private String store;

    /**
     * 厂商
     */
    @Excel(name = "厂商")
    private String firmName;

    /**
     * 厂商地址
     */
    @Excel(name = "厂商地址")
    private String firmAddr;

    /**
     * 厂商简称
     */
    @Excel(name = "厂商简称")
    private String firmShort;

    /**
     * 令数
     */
    @Excel(name = "令数")
    private BigDecimal lingCount;

    /**
     * 供应商编码
     */
    @Excel(name = "供应商编码")
    private String supplierCode;

    /**
     * 供应商名称
     */
    @Excel(name = "供应商名称")
    private String supplierName;

    /**
     * 客户id
     */
    @Excel(name = "客户id")
    private Integer customId;
    /**
     * 客户名称
     */
    @Excel(name = "客户名称")
    private String customName;
    /**
     * 状态
     */
    @Excel(name = "状态", combo = {"启用", "停用"}, readConverterExp = "0=启用,1=停用")
    private Integer status;

    /**
     * 规格型号
     */
    @Excel(name = "规格型号", combo = {"A1", "B1"}, readConverterExp = "1=A1,2=B1")
    private Integer specs;
    private String specsString;

    /**
     * 库存数量
     */
    @Excel(name = "库存数量")
    private BigDecimal quantity;

    /**
     * 吨位系数
     */
    @Excel(name = "吨位系数")
    private BigDecimal tonnageCoefficient;

    //每件/令数
    private Double pieceOrder;
    /**
     * 库存加减标识 1:加 2:减
     */
    private Integer quantitymark;

    //裁切库存量
    private Double cuttingNum;

    @TableField(exist = false)
    private List<MesPaperTonFactor> mesPaperTonFactors;


    @TableField(exist = false)
    private String useNum;//领用数量
    @TableField(exist = false)
    private String useNumY;//领用数量一车间
    @TableField(exist = false)
    private String useNumS;//领用数量四车间
    @TableField(exist = false)
    private String allotOutNumber;//调出数量
    @TableField(exist = false)
    private String allotInNumber;//调入数量
    @TableField(exist = false)
    private String inNum;//入库数量
    @TableField(exist = false)
    private String startDate;
    @TableField(exist = false)
    private String endDate;
    @TableField(exist = false)
    private String orderProductId;
    @TableField(exist = false)
    private String tkNum;
    @TableField(exist = false)
    private String inventoryMonth; //盘点年月
    @TableField(exist = false)
    private Double ykNumber; //盈亏
}
